(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 10.4' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       158,          7]
NotebookDataLength[     52468,       1671]
NotebookOptionsPosition[     48383,       1552]
NotebookOutlinePosition[     50934,       1617]
CellTagsIndexPosition[     50812,       1611]
WindowTitle->FCApart
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {Cell["FEYN CALC SYMBOL", "PacletNameCell"], Cell[TextData[{
     Cell[BoxData[
      ActionMenuBox[
       FrameBox[
        InterpretationBox[Cell[TextData[{
          "See Also",
          StyleBox[" \[FilledDownTriangle]", "AnchorBarArrow",
           StripOnInput->False]
         }]],
         TextCell[
          Row[{"See Also", 
            Style[" \[FilledDownTriangle]", "AnchorBarArrow"]}]]],
        StripOnInput->False], {"\<\"ApartFF\"\>":>Documentation`HelpLookup[
       "paclet:FeynCalc/ref/ApartFF"]},
       Appearance->None,
       MenuAppearance->Automatic,
       MenuStyle->"SeeAlso"]],
      LineSpacing->{1.4, 0}],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      ActionMenuBox[
       FrameBox[
        InterpretationBox[Cell[TextData[{
          "URL",
          StyleBox[" \[FilledDownTriangle]", "AnchorBarArrow",
           StripOnInput->False]
         }]],
         TextCell[
          Row[{"URL", 
            Style[" \[FilledDownTriangle]", "AnchorBarArrow"]}]]],
        StripOnInput->False], {"\<\"FeynCalc/ref/FCApart\"\>":>
       None, "\<\"Copy Wolfram Documentation Center URL\"\>":>
       Module[{DocumentationSearch`Private`nb$}, 
        DocumentationSearch`Private`nb$ = NotebookPut[
           Notebook[{
             Cell["FeynCalc/ref/FCApart"]}, Visible -> False]]; 
        SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
        FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
        NotebookClose[DocumentationSearch`Private`nb$]; Null], 
       Delimiter, "\<\"Copy web URL\"\>":>
       Module[{DocumentationSearch`Private`nb$}, 
        DocumentationSearch`Private`nb$ = NotebookPut[
           Notebook[{
             Cell[
              BoxData[
               MakeBoxes[
                Hyperlink[
                "http://reference.wolfram.com/language/FeynCalc/ref/FCApart.\
html"], StandardForm]], "Input", TextClipboardType -> "PlainText"]}, Visible -> 
            False]]; SelectionMove[
         DocumentationSearch`Private`nb$, All, Notebook]; 
        FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
        NotebookClose[DocumentationSearch`Private`nb$]; 
        Null], "\<\"Go to web URL\"\>":>FrontEndExecute[{
         NotebookLocate[{
           URL[
            StringJoin[
             If[
              TrueQ[DocumentationBuild`Make`Private`wsmlinkQ$92357], 
              "http://reference.wolfram.com/system-modeler/", 
              "http://reference.wolfram.com/language/"], 
             "FeynCalc/ref/FCApart", ".html"]], None}]}]},
       Appearance->None,
       MenuAppearance->Automatic,
       MenuStyle->"URLMenu"]],
      LineSpacing->{1.4, 0}]
    }], "AnchorBar"]}
  }]], "AnchorBarGrid",
 GridBoxOptions->{GridBoxItemSize->{"Columns" -> {
     Scaled[0.65], {
      Scaled[0.34]}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, 
   "RowsIndexed" -> {}}},
 CellID->1],

Cell[TextData[{
 Cell["FCApart", "ObjectName"],
 Cell[BoxData[
  InterpretationBox[
   StyleBox[
    GraphicsBox[{},
     BaselinePosition->Baseline,
     ImageSize->{8, 0}],
    CacheGraphics->False],
   Spacer[8]]]],
 Cell[BoxData[""], "ObjectNameTranslation"]
}], "ObjectNameGrid"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{"FCApart", "[", 
       RowBox[{"expr", ",", 
        RowBox[{"{", 
         RowBox[{"q1", ",", "q2", ",", "..."}], "}"}]}], "]"}]], 
      "InlineFormula"],
     " \[LineSeparator]is an internal function that partial fractions a loop \
integral (that depends on q1,q2,...) into integrals that contain only \
linearly independent propagators. The algorithm is largely based on the work \
and code of F. Feng (arXiv:1204.2314). FCApart is meant to be applied to \
single loop integrals only. If you need to perform partial fractioning on an \
expression that contains multiple loop integrals, use ApartFF"
    }]]}
  }]], "Usage",
 GridBoxOptions->{
 GridBoxBackground->{
  "Columns" -> {{None}}, "ColumnsIndexed" -> {}, "Rows" -> {{None}}, 
   "RowsIndexed" -> {}}},
 CellID->982511436],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[
 ButtonBox[Cell[TextData[{
   Cell[BoxData[
    InterpretationBox[
     StyleBox[
      GraphicsBox[{},
       BaselinePosition->Baseline,
       ImageSize->{6, 0}],
      CacheGraphics->False],
     Spacer[6]]]],
   "Details"
  }], "NotesFrameText"],
  Appearance->{Automatic, None},
  BaseStyle->None,
  ButtonFunction:>(FrontEndExecute[{
     FrontEnd`SelectionMove[
      FrontEnd`SelectedNotebook[], All, ButtonCell], 
     FrontEndToken["OpenCloseGroup"], 
     FrontEnd`SelectionMove[
      FrontEnd`SelectedNotebook[], After, CellContents]}]& ),
  Evaluator->None,
  Method->"Preemptive"]]]], "NotesSection",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1396847414],

Cell["", "SectionHeaderSpacer"],

Cell["\<\
There is actually no reason, why one would want to apply FCApart instead of \
ApartFF, except for cases, where FCApart is called from a different package \
that interacts with FeynCalc.\
\>", "Notes",
 CellID->1067943069],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Options", "[", "FCApart", "]"}]], "Input",
 CellLabel->"In[763]:=",
 CellID->466656637],

Cell[BoxData[
 FormBox[
  RowBox[{"{", 
   RowBox[{
    RowBox[{"Check", "\[Rule]", "True"}], ",", 
    RowBox[{"Collecting", "\[Rule]", "True"}], ",", 
    RowBox[{"DropScaleless", "\[Rule]", "True"}], ",", 
    RowBox[{"ExpandScalarProduct", "\[Rule]", "True"}], ",", 
    RowBox[{"FeynCalcInternal", "\[Rule]", "False"}], ",", 
    RowBox[{"FeynCalcExternal", "\[Rule]", "False"}], ",", 
    RowBox[{"FCVerbose", "\[Rule]", "False"}], ",", 
    RowBox[{"FeynAmpDenominatorSimplify", "\[Rule]", "True"}], ",", 
    RowBox[{"MaxIterations", "\[Rule]", "\[Infinity]"}], ",", 
    RowBox[{"SetDimensions", "\[Rule]", 
     RowBox[{"{", 
      RowBox[{"3", ",", "4", ",", "D", ",", 
       RowBox[{"D", "-", "1"}]}], "}"}]}]}], "}"}], 
  TraditionalForm]], "Output",
 ImageSize->{497, 73},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellLabel->"Out[763]="]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  InterpretationBox[
   StyleBox[
    GraphicsBox[{},
     BaselinePosition->Baseline,
     ImageSize->{6, 0}],
    CacheGraphics->False],
   Spacer[6]]]],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CellTags->"PrimaryExamplesSection",
 CellID->1103987637],

Cell[CellGroupData[{

Cell[TextData[{
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CellID->787614274],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"SPD", "[", 
   RowBox[{"q", ",", "q"}], "]"}], 
  RowBox[{"FAD", "[", 
   RowBox[{"{", 
    RowBox[{"q", ",", "m"}], "}"}], "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"FCApart", "[", 
  RowBox[{"%", ",", 
   RowBox[{"{", "q", "}"}]}], "]"}]}], "Input",
 CellLabel->"In[1]:=",
 CellID->591868896],

Cell[BoxData[
 FormBox[
  FractionBox[
   FormBox[
    SuperscriptBox[
     FormBox[
      FormBox["q",
       TraditionalForm],
      TraditionalForm], "2"],
    TraditionalForm], 
   InterpretationBox[
    RowBox[{
     SuperscriptBox[
      FormBox[
       FormBox["q",
        TraditionalForm],
       TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
     "\[InvisibleSpace]", 
     SuperscriptBox["m", "2"]}],
    SequenceForm[
     FeynCalc`Pair[
      FeynCalc`Momentum[$CellContext`q, D], 
      FeynCalc`Momentum[$CellContext`q, D]], "-", $CellContext`m^2],
    Editable->False]], TraditionalForm]], "Output",
 ImageSize->{61, 43},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellLabel->"Out[1]="],

Cell[BoxData[
 FormBox[
  FractionBox[
   SuperscriptBox["m", "2"], 
   InterpretationBox[
    RowBox[{
     SuperscriptBox[
      FormBox[
       FormBox["q",
        TraditionalForm],
       TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
     "\[InvisibleSpace]", 
     SuperscriptBox["m", "2"]}],
    SequenceForm[
     FeynCalc`Pair[
      FeynCalc`Momentum[$CellContext`q, D], 
      FeynCalc`Momentum[$CellContext`q, D]], "-", $CellContext`m^2],
    Editable->False]], TraditionalForm]], "Output",
 ImageSize->{61, 43},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellLabel->"Out[1]="]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"SPD", "[", 
   RowBox[{"q", ",", "p"}], "]"}], 
  RowBox[{"SPD", "[", 
   RowBox[{"q", ",", "r"}], "]"}], 
  RowBox[{"FAD", "[", 
   RowBox[{
    RowBox[{"{", "q", "}"}], ",", 
    RowBox[{"{", 
     RowBox[{"q", "-", "p"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{"q", "-", "r"}], "}"}]}], "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"FCApart", "[", 
  RowBox[{"%", ",", 
   RowBox[{"{", "q", "}"}]}], "]"}]}], "Input",
 CellLabel->"In[2]:=",
 CellID->1827687893],

Cell[BoxData[
 FormBox[
  FractionBox[
   RowBox[{
    RowBox[{"(", 
     FormBox[
      RowBox[{
       FormBox[
        FormBox["p",
         TraditionalForm],
        TraditionalForm], 
       FormBox["\<\"\[CenterDot]\"\>",
        TraditionalForm], 
       FormBox[
        FormBox["q",
         TraditionalForm],
        TraditionalForm]}],
      TraditionalForm], ")"}], " ", 
    RowBox[{"(", 
     FormBox[
      RowBox[{
       FormBox[
        FormBox["q",
         TraditionalForm],
        TraditionalForm], 
       FormBox["\<\"\[CenterDot]\"\>",
        TraditionalForm], 
       FormBox[
        FormBox["r",
         TraditionalForm],
        TraditionalForm]}],
      TraditionalForm], ")"}]}], 
   RowBox[{
    InterpretationBox[
     SuperscriptBox[
      FormBox[
       FormBox["q",
        TraditionalForm],
       TraditionalForm], "2"],
     SequenceForm[
      FeynCalc`Pair[
       FeynCalc`Momentum[$CellContext`q, D], 
       FeynCalc`Momentum[$CellContext`q, D]]],
     Editable->False], ".", 
    InterpretationBox[
     SuperscriptBox[
      RowBox[{
       FormBox["\<\"(\"\>",
        TraditionalForm], 
       FormBox[
        FormBox[
         RowBox[{
          FormBox["q",
           TraditionalForm], "-", 
          FormBox["p",
           TraditionalForm]}],
         TraditionalForm],
        TraditionalForm], 
       FormBox["\<\")\"\>",
        TraditionalForm]}], "2"],
     SequenceForm[
      FeynCalc`Pair[
       FeynCalc`Momentum[-$CellContext`p + $CellContext`q, D], 
       FeynCalc`Momentum[-$CellContext`p + $CellContext`q, D]]],
     Editable->False], ".", 
    InterpretationBox[
     SuperscriptBox[
      RowBox[{
       FormBox["\<\"(\"\>",
        TraditionalForm], 
       FormBox[
        FormBox[
         RowBox[{
          FormBox["q",
           TraditionalForm], "-", 
          FormBox["r",
           TraditionalForm]}],
         TraditionalForm],
        TraditionalForm], 
       FormBox["\<\")\"\>",
        TraditionalForm]}], "2"],
     SequenceForm[
      FeynCalc`Pair[
       FeynCalc`Momentum[$CellContext`q - $CellContext`r, D], 
       FeynCalc`Momentum[$CellContext`q - $CellContext`r, D]]],
     Editable->False]}]], TraditionalForm]], "Output",
 ImageSize->{167, 39},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellLabel->"Out[2]="],

Cell[BoxData[
 GraphicsBox[
  TagBox[RasterBox[CompressedData["
1:eJzt3XtQVNcdB3Bs/0jjOKPUccbEkBQEQYkQZaJYtAY1sfGRTmjSooVMIT5q
QDTaxgZNxppxUmVUdKI1RDI1GKINxiQ2Gg0jSkQFTSCJT5Cn8lJhFxb2vUth
yyQm7u495z7OPffy/cw0QzPZe8/v/M7ee3fv7n6DU1ckLPlZQEDA6l/0/iMh
ZU38qlUpr/5+WO//eT5j9bKlGYsXPZ3x18VLF6+KTf15779M7v3f7kEBAX1/
9wAAgKa4jKVblsyLGxv82MKdl7rdzB4LjHHSLE6GAfpiqd337lcdrh5b7Tu/
GT33hIHVY4ExTprFyTBAZ9xOs9NzUuwuz4hbVGZi9VhgjJNmcTIM0Knu7zYv
zqm2Mn8sMMZJszgZBuiJ23Qxf0/xHSfrxwJjsjTLba7Ky5gxZsSQwOCpaXsr
zfTvcWHNgOzclvpjB0+12nt6XF31VZ1Ui0vKY4ExmZplvrx1xc5zrTZ724Wd
z4wcGr25yqbGMADuYr+ZnxweEh7Za9yj09ZdNDN6LDBG0Sxn6+Gly8s6fWyn
paiwuf/I1V2RHjJq/ukOZYYBcDen4dy///Zc/Ky/b92QNjfyl8PHpx5sdlBu
4fz+dQufmrN+2ytPhT48+/Atl0JDBSmkN7p/Ozffe3Ieya1E0/mUsVN219u9
DwZrBmTlbjv22wdDVxbedva4bv93/ohhk/c3060qd3vh0w8+8ucDtaa2a5ea
rfjUD5+kN9qD8DjmNhS/NHP1aaOP1YA1A/IyfvnH4HGvXbb0/d319dLgh549
ZaTbQufZ5NGRr1+xKDE6kI20RjuaPkydPb3PlIjA4dFxnj/npJd4P1C5jGfe
fDn3qu93+bFmQFamstTR4Su/9bwTYbmyfvyYRT7PoT50ffWXsIhV3+K9DL5J
b/T/CV+Puc1V+Ztyv+n0s3WsGZBVd0XGmJAUzycOHY37F05b/jntDW/zd6sj
wpZc6FJkeCAX6Y3uJ3Qcs934dFtOmdHzitVlvPjx0aZ771hizYCsLJfXjhs5
6U+rNmbvyPpH5o6iW3Tv/Lq6rn2+Zf7IIaPTP7powlu1HJPY6Lv4PY45bx9Z
Fn7/oIB+gwZHZV3/yWEMawbkZqv6Z9SvEooMeJtV59Bo0C977VsTH5595A5W
t86h0aBTbsuNL999MXjIyN+9/WUT7nvrFxoNAAAAA4zfr+2AtqG5MEAQf20H
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
MwAAAAD48z/nO6rl
    "], {{0, 93}, {408, 0}}, {0, 255},
    ColorFunction->RGBColor],
   BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
   Selectable->False],
  DefaultBaseStyle->"ImageGraphics",
  ImageSize->Automatic,
  ImageSizeRaw->{408, 93},
  PlotRange->{{0, 408}, {0, 93}}]], "Output",
 ImageSize->{412, 93},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellTags->"RasterizedOutput",
 CellLabel->"Out[2]=",
 CellID->1088106126]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"SPD", "[", 
   RowBox[{"p", ",", "q1"}], "]"}], 
  RowBox[{
   RowBox[{"SPD", "[", 
    RowBox[{"p", ",", "q2"}], "]"}], "^", "2"}], 
  RowBox[{"FAD", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"q1", ",", "m"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{"q2", ",", "m"}], "}"}], ",", 
    RowBox[{"q1", "-", "p"}], ",", 
    RowBox[{"q2", "-", "p"}], ",", 
    RowBox[{"q1", "-", "q2"}]}], "]"}]}], "\[IndentingNewLine]", 
 RowBox[{"FCApart", "[", 
  RowBox[{"%", ",", 
   RowBox[{"{", 
    RowBox[{"q1", ",", "q2"}], "}"}]}], "]"}]}], "Input",
 CellLabel->"In[3]:=",
 CellID->21286566],

Cell[BoxData[
 FormBox[
  FractionBox[
   RowBox[{
    RowBox[{"(", 
     FormBox[
      RowBox[{
       FormBox[
        FormBox["p",
         TraditionalForm],
        TraditionalForm], 
       FormBox["\<\"\[CenterDot]\"\>",
        TraditionalForm], 
       FormBox[
        FormBox["q1",
         TraditionalForm],
        TraditionalForm]}],
      TraditionalForm], ")"}], " ", 
    SuperscriptBox[
     RowBox[{"(", 
      FormBox[
       RowBox[{
        FormBox[
         FormBox["p",
          TraditionalForm],
         TraditionalForm], 
        FormBox["\<\"\[CenterDot]\"\>",
         TraditionalForm], 
        FormBox[
         FormBox["q2",
          TraditionalForm],
         TraditionalForm]}],
       TraditionalForm], ")"}], "2"]}], 
   RowBox[{
    RowBox[{"(", 
     InterpretationBox[
      RowBox[{
       SuperscriptBox[
        FormBox[
         FormBox["q1",
          TraditionalForm],
         TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
       "\[InvisibleSpace]", 
       SuperscriptBox["m", "2"]}],
      SequenceForm[
       FeynCalc`Pair[
        FeynCalc`Momentum[$CellContext`q1, D], 
        FeynCalc`Momentum[$CellContext`q1, D]], "-", $CellContext`m^2],
      Editable->False], ")"}], ".", 
    RowBox[{"(", 
     InterpretationBox[
      RowBox[{
       SuperscriptBox[
        FormBox[
         FormBox["q2",
          TraditionalForm],
         TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
       "\[InvisibleSpace]", 
       SuperscriptBox["m", "2"]}],
      SequenceForm[
       FeynCalc`Pair[
        FeynCalc`Momentum[$CellContext`q2, D], 
        FeynCalc`Momentum[$CellContext`q2, D]], "-", $CellContext`m^2],
      Editable->False], ")"}], ".", 
    InterpretationBox[
     SuperscriptBox[
      RowBox[{
       FormBox["\<\"(\"\>",
        TraditionalForm], 
       FormBox[
        FormBox[
         RowBox[{
          FormBox["q1",
           TraditionalForm], "-", 
          FormBox["p",
           TraditionalForm]}],
         TraditionalForm],
        TraditionalForm], 
       FormBox["\<\")\"\>",
        TraditionalForm]}], "2"],
     SequenceForm[
      FeynCalc`Pair[
       FeynCalc`Momentum[-$CellContext`p + $CellContext`q1, D], 
       FeynCalc`Momentum[-$CellContext`p + $CellContext`q1, D]]],
     Editable->False], ".", 
    InterpretationBox[
     SuperscriptBox[
      RowBox[{
       FormBox["\<\"(\"\>",
        TraditionalForm], 
       FormBox[
        FormBox[
         RowBox[{
          FormBox["q2",
           TraditionalForm], "-", 
          FormBox["p",
           TraditionalForm]}],
         TraditionalForm],
        TraditionalForm], 
       FormBox["\<\")\"\>",
        TraditionalForm]}], "2"],
     SequenceForm[
      FeynCalc`Pair[
       FeynCalc`Momentum[-$CellContext`p + $CellContext`q2, D], 
       FeynCalc`Momentum[-$CellContext`p + $CellContext`q2, D]]],
     Editable->False], ".", 
    InterpretationBox[
     SuperscriptBox[
      RowBox[{
       FormBox["\<\"(\"\>",
        TraditionalForm], 
       FormBox[
        FormBox[
         RowBox[{
          FormBox["q1",
           TraditionalForm], "-", 
          FormBox["q2",
           TraditionalForm]}],
         TraditionalForm],
        TraditionalForm], 
       FormBox["\<\")\"\>",
        TraditionalForm]}], "2"],
     SequenceForm[
      FeynCalc`Pair[
       FeynCalc`Momentum[$CellContext`q1 - $CellContext`q2, D], 
       FeynCalc`Momentum[$CellContext`q1 - $CellContext`q2, D]]],
     Editable->False]}]], TraditionalForm]], "Output",
 ImageSize->{376, 46},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellLabel->"Out[3]="],

Cell[BoxData[
 FormBox[
  RowBox[{
   FormBox[
    FractionBox[
     SuperscriptBox[
      RowBox[{"(", 
       RowBox[{
        SuperscriptBox["m", "2"], "+", 
        SuperscriptBox[
         FormBox[
          FormBox["p",
           TraditionalForm],
          TraditionalForm], "2"]}], ")"}], "3"], 
     RowBox[{"8", " ", 
      RowBox[{
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q1",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q1, D], 
           FeynCalc`Momentum[$CellContext`q1, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q2",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q2, D], 
           FeynCalc`Momentum[$CellContext`q2, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["p",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[-FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q1, D], -
           FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q1, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q2",
              TraditionalForm], "-", 
             FormBox["p",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[-FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q2, D], -
           FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False]}]}]],
    TraditionalForm], "-", 
   FormBox[
    FractionBox[
     SuperscriptBox[
      RowBox[{"(", 
       RowBox[{
        SuperscriptBox["m", "2"], "+", 
        SuperscriptBox[
         FormBox[
          FormBox["p",
           TraditionalForm],
          TraditionalForm], "2"]}], ")"}], "2"], 
     RowBox[{"4", " ", 
      RowBox[{
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q1",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q1, D], 
           FeynCalc`Momentum[$CellContext`q1, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q2",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q2, D], 
           FeynCalc`Momentum[$CellContext`q2, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["p",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[-FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q1, D], -
           FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q1, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False]}]}]],
    TraditionalForm], "-", 
   FormBox[
    FractionBox[
     RowBox[{
      SuperscriptBox["m", "2"], "+", 
      SuperscriptBox[
       FormBox[
        FormBox["p",
         TraditionalForm],
        TraditionalForm], "2"]}], 
     RowBox[{"4", " ", 
      RowBox[{
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q1",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q1, D], 
           FeynCalc`Momentum[$CellContext`q1, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q2",
              TraditionalForm], "-", 
             FormBox["p",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[-FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q2, D], -
           FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False]}]}]],
    TraditionalForm], "+", 
   FormBox[
    FractionBox[
     RowBox[{
      SuperscriptBox["m", "2"], "+", 
      SuperscriptBox[
       FormBox[
        FormBox["p",
         TraditionalForm],
        TraditionalForm], "2"]}], 
     RowBox[{"8", " ", 
      RowBox[{
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q1",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q1, D], 
           FeynCalc`Momentum[$CellContext`q1, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q2",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q2, D], 
           FeynCalc`Momentum[$CellContext`q2, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False]}]}]],
    TraditionalForm], "+", 
   FormBox[
    FractionBox[
     RowBox[{
      RowBox[{"(", 
       RowBox[{
        SuperscriptBox["m", "2"], "+", 
        SuperscriptBox[
         FormBox[
          FormBox["p",
           TraditionalForm],
          TraditionalForm], "2"]}], ")"}], " ", 
      RowBox[{"(", 
       RowBox[{
        SuperscriptBox["m", "2"], "+", 
        RowBox[{"2", " ", 
         SuperscriptBox[
          FormBox[
           FormBox["p",
            TraditionalForm],
           TraditionalForm], "2"]}]}], ")"}]}], 
     RowBox[{"4", " ", 
      RowBox[{
       InterpretationBox[
        SuperscriptBox[
         FormBox[
          FormBox["q1",
           TraditionalForm],
          TraditionalForm], "2"],
        SequenceForm[
         FeynCalc`Pair[
          FeynCalc`Momentum[$CellContext`q1, D], 
          FeynCalc`Momentum[$CellContext`q1, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         FormBox[
          FormBox["q2",
           TraditionalForm],
          TraditionalForm], "2"],
        SequenceForm[
         FeynCalc`Pair[
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False], ".", 
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           RowBox[{
            FormBox["\<\"(\"\>",
             TraditionalForm], 
            FormBox[
             FormBox[
              RowBox[{
               FormBox["q1",
                TraditionalForm], "-", 
               FormBox["p",
                TraditionalForm]}],
              TraditionalForm],
             TraditionalForm], 
            FormBox["\<\")\"\>",
             TraditionalForm]}], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          
          FeynCalc`Pair[-FeynCalc`Momentum[$CellContext`p, D] + 
           FeynCalc`Momentum[$CellContext`q1, D], -
            FeynCalc`Momentum[$CellContext`p, D] + 
           FeynCalc`Momentum[$CellContext`q1, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False]}]}]],
    TraditionalForm], "-", 
   FormBox[
    FractionBox[
     RowBox[{
      RowBox[{"(", 
       RowBox[{
        SuperscriptBox["m", "2"], "+", 
        SuperscriptBox[
         FormBox[
          FormBox["p",
           TraditionalForm],
          TraditionalForm], "2"]}], ")"}], " ", 
      RowBox[{"(", 
       RowBox[{
        FormBox[
         FormBox["p",
          TraditionalForm],
         TraditionalForm], 
        FormBox["\<\"\[CenterDot]\"\>",
         TraditionalForm], 
        FormBox[
         FormBox["q1",
          TraditionalForm],
         TraditionalForm]}], ")"}]}], 
     RowBox[{"4", " ", 
      RowBox[{
       InterpretationBox[
        SuperscriptBox[
         FormBox[
          FormBox["q1",
           TraditionalForm],
          TraditionalForm], "2"],
        SequenceForm[
         FeynCalc`Pair[
          FeynCalc`Momentum[$CellContext`q1, D], 
          FeynCalc`Momentum[$CellContext`q1, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         FormBox[
          FormBox["q2",
           TraditionalForm],
          TraditionalForm], "2"],
        SequenceForm[
         FeynCalc`Pair[
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False], ".", 
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           RowBox[{
            FormBox["\<\"(\"\>",
             TraditionalForm], 
            FormBox[
             FormBox[
              RowBox[{
               FormBox["q2",
                TraditionalForm], "-", 
               FormBox["p",
                TraditionalForm]}],
              TraditionalForm],
             TraditionalForm], 
            FormBox["\<\")\"\>",
             TraditionalForm]}], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          
          FeynCalc`Pair[-FeynCalc`Momentum[$CellContext`p, D] + 
           FeynCalc`Momentum[$CellContext`q2, D], -
            FeynCalc`Momentum[$CellContext`p, D] + 
           FeynCalc`Momentum[$CellContext`q2, D]], "-", $CellContext`m^2],
         Editable->False], ")"}]}]}]],
    TraditionalForm], "-", 
   FormBox[
    FractionBox[
     RowBox[{
      RowBox[{"(", 
       RowBox[{
        SuperscriptBox["m", "2"], "+", 
        SuperscriptBox[
         FormBox[
          FormBox["p",
           TraditionalForm],
          TraditionalForm], "2"]}], ")"}], " ", 
      RowBox[{"(", 
       RowBox[{
        FormBox[
         FormBox["p",
          TraditionalForm],
         TraditionalForm], 
        FormBox["\<\"\[CenterDot]\"\>",
         TraditionalForm], 
        FormBox[
         FormBox["q1",
          TraditionalForm],
         TraditionalForm]}], ")"}]}], 
     RowBox[{"4", " ", 
      RowBox[{
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q1",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q1, D], 
           FeynCalc`Momentum[$CellContext`q1, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q2",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q2, D], 
           FeynCalc`Momentum[$CellContext`q2, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q2",
              TraditionalForm], "-", 
             FormBox["p",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[-FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q2, D], -
           FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False]}]}]],
    TraditionalForm], "-", 
   FormBox[
    FractionBox[
     RowBox[{
      FormBox[
       FormBox["p",
        TraditionalForm],
       TraditionalForm], 
      FormBox["\<\"\[CenterDot]\"\>",
       TraditionalForm], 
      FormBox[
       FormBox["q1",
        TraditionalForm],
       TraditionalForm]}], 
     RowBox[{"4", " ", 
      RowBox[{
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q1",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q1, D], 
           FeynCalc`Momentum[$CellContext`q1, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q2",
              TraditionalForm], "-", 
             FormBox["p",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[-FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q2, D], -
           FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False]}]}]],
    TraditionalForm], "+", 
   FormBox[
    FractionBox[
     RowBox[{
      FormBox[
       FormBox["p",
        TraditionalForm],
       TraditionalForm], 
      FormBox["\<\"\[CenterDot]\"\>",
       TraditionalForm], 
      FormBox[
       FormBox["q1",
        TraditionalForm],
       TraditionalForm]}], 
     RowBox[{"4", " ", 
      RowBox[{
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q1",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q1, D], 
           FeynCalc`Momentum[$CellContext`q1, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q2",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q2, D], 
           FeynCalc`Momentum[$CellContext`q2, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False]}]}]],
    TraditionalForm], "-", 
   FormBox[
    FractionBox[
     RowBox[{
      FormBox[
       FormBox["p",
        TraditionalForm],
       TraditionalForm], 
      FormBox["\<\"\[CenterDot]\"\>",
       TraditionalForm], 
      FormBox[
       FormBox["q1",
        TraditionalForm],
       TraditionalForm]}], 
     RowBox[{"4", " ", 
      RowBox[{
       RowBox[{"(", 
        InterpretationBox[
         RowBox[{
          SuperscriptBox[
           FormBox[
            FormBox["q2",
             TraditionalForm],
            TraditionalForm], "2"], "\[InvisibleSpace]", "\<\"-\"\>", 
          "\[InvisibleSpace]", 
          SuperscriptBox["m", "2"]}],
         SequenceForm[
          FeynCalc`Pair[
           FeynCalc`Momentum[$CellContext`q2, D], 
           FeynCalc`Momentum[$CellContext`q2, D]], "-", $CellContext`m^2],
         Editable->False], ")"}], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["p",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[-FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q1, D], -
           FeynCalc`Momentum[$CellContext`p, D] + 
          FeynCalc`Momentum[$CellContext`q1, D]]],
        Editable->False], ".", 
       InterpretationBox[
        SuperscriptBox[
         RowBox[{
          FormBox["\<\"(\"\>",
           TraditionalForm], 
          FormBox[
           FormBox[
            RowBox[{
             FormBox["q1",
              TraditionalForm], "-", 
             FormBox["q2",
              TraditionalForm]}],
            TraditionalForm],
           TraditionalForm], 
          FormBox["\<\")\"\>",
           TraditionalForm]}], "2"],
        SequenceForm[
         FeynCalc`Pair[
         FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D], 
          FeynCalc`Momentum[$CellContext`q1, D] - 
          FeynCalc`Momentum[$CellContext`q2, D]]],
        Editable->False]}]}]],
    TraditionalForm]}], TraditionalForm]], "Output",
 ImageSize->{573, 372},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellLabel->"Out[3]="]
}, Open  ]]
}, Open  ]],

Cell["", "SectionFooterSpacer"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  InterpretationBox[
   StyleBox[
    GraphicsBox[{},
     BaselinePosition->Baseline,
     ImageSize->{6, 0}],
    CacheGraphics->False],
   Spacer[6]]]],
 "See Also"
}], "SeeAlsoSection",
 WholeCellGroupOpener->True,
 CellID->1255426704],

Cell[TextData[StyleBox[ButtonBox["ApartFF",
 BaseStyle->"Link",
 ButtonData->"paclet:FeynCalc/ref/ApartFF",
 ButtonNote->"ApartFF"],
 FontFamily->"Verdana"]], "SeeAlso",
 CellID->929782353]
}, Open  ]],

Cell[" ", "FooterCell"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{725, 750},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"FCApart",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "SymbolColor", "LinkTrails" -> 
  GridBox[{{
      RowBox[{
        ButtonBox[
        "FeynCalc", ButtonData -> "paclet:FeynCalc/guide/FeynCalc", 
         BaseStyle -> {"Link", "DockedLinkTrail"}]}]}}, ColumnAlignments -> 
    Left], "HasOptions" -> False, "ExampleCounter" -> 1, "NeedPlatMsgIn" -> 
  None, "RootCaptions" -> "", 
  "Metadata" -> {
   "built" -> "{2020, 6, 20, 19, 5, 0.838329}", 
    "history" -> {"9.0", "", "", ""}, "context" -> "FeynCalc`", 
    "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Feyn Calc Symbol", "language" -> "en", "paclet" -> "FeynCalc", "status" -> 
    "None", "summary" -> 
    "FCApart[expr, {q1, q2, ...}] is an internal function that partial \
fractions a loop integral (that depends on q1,q2,...) into integrals that \
contain only linearly independent propagators. The algorithm is largely based \
on the work and code of F. Feng (arXiv:1204.2314). FCApart is meant to be \
applied to single loop integrals only. If you need to perform partial \
fractioning on an expression that contains multiple loop integrals, use \
ApartFF", "synonyms" -> {}, "tabletags" -> {}, "title" -> "FCApart", 
    "titlemodifier" -> "", "windowtitle" -> "FCApart", "type" -> "Symbol", 
    "uri" -> "FeynCalc/ref/FCApart"}, "SearchTextTranslated" -> ""},
CellContext->"Global`",
FrontEndVersion->"10.4 for Linux x86 (64-bit) (April 11, 2016)",
StyleDefinitions->Notebook[{
   Cell[
    StyleData[
    StyleDefinitions -> FrontEnd`FileName[{"Wolfram"}, "Reference.nb"]]], 
   Cell[
    StyleData["Input"], CellContext -> "Global`"], 
   Cell[
    StyleData["Output"], CellContext -> "Global`"]}, Visible -> False, 
  FrontEndVersion -> "10.4 for Linux x86 (64-bit) (April 11, 2016)", 
  StyleDefinitions -> "Default.nb"]
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "PrimaryExamplesSection"->{
  Cell[6861, 206, 388, 15, 31, "PrimaryExamplesSection",
   CellTags->"PrimaryExamplesSection",
   CellID->1103987637]},
 "RasterizedOutput"->{
  Cell[12078, 413, 4874, 88, 114, "Output",
   CellTags->"RasterizedOutput",
   CellID->1088106126]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"PrimaryExamplesSection", 50543, 1600},
 {"RasterizedOutput", 50687, 1604}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[579, 21, 2995, 74, 53, "AnchorBarGrid",
 CellID->1],
Cell[3577, 97, 284, 11, 45, "ObjectNameGrid"],
Cell[CellGroupData[{
Cell[3886, 112, 866, 20, 136, "Usage",
 CellID->982511436],
Cell[CellGroupData[{
Cell[4777, 136, 739, 24, 31, "NotesSection",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1396847414],
Cell[5519, 162, 31, 0, 70, "SectionHeaderSpacer"],
Cell[5553, 164, 231, 5, 70, "Notes",
 CellID->1067943069],
Cell[CellGroupData[{
Cell[5809, 173, 111, 3, 70, "Input",
 CellID->466656637],
Cell[5923, 178, 877, 21, 94, "Output"]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[CellGroupData[{
Cell[6861, 206, 388, 15, 31, "PrimaryExamplesSection",
 CellTags->"PrimaryExamplesSection",
 CellID->1103987637],
Cell[CellGroupData[{
Cell[7274, 225, 195, 6, 26, "ExampleSection",
 CellID->787614274],
Cell[CellGroupData[{
Cell[7494, 235, 330, 11, 45, "Input",
 CellID->591868896],
Cell[7827, 248, 738, 27, 64, "Output"],
Cell[8568, 277, 625, 21, 64, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[9230, 303, 502, 17, 45, "Input",
 CellID->1827687893],
Cell[9735, 322, 2340, 89, 60, "Output"],
Cell[12078, 413, 4874, 88, 114, "Output",
 CellTags->"RasterizedOutput",
 CellID->1088106126]
}, Open  ]],
Cell[CellGroupData[{
Cell[16989, 506, 630, 21, 70, "Input",
 CellID->21286566],
Cell[17622, 529, 3645, 130, 67, "Output"],
Cell[21270, 661, 26514, 858, 393, "Output"]
}, Open  ]]
}, Open  ]],
Cell[47811, 1523, 31, 0, 70, "SectionFooterSpacer"]
}, Open  ]],
Cell[CellGroupData[{
Cell[47879, 1528, 270, 12, 70, "SeeAlsoSection",
 CellID->1255426704],
Cell[48152, 1542, 189, 5, 70, "SeeAlso",
 CellID->929782353]
}, Open  ]],
Cell[48356, 1550, 23, 0, 70, "FooterCell"]
}
]
*)

(* End of internal cache information *)

